package com.wangsh.usersCenter.users.service;

import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.wangsh.usersCenter.common.pojo.ApiResponse;
import com.wangsh.usersCenter.common.util.PageInfoUtil;
import com.wangsh.usersCenter.users.pojo.AAdmins;
import com.wangsh.usersCenter.users.pojo.AUsers;
import com.wangsh.usersCenter.users.pojo.AUsersApis;
import com.wangsh.usersCenter.users.pojo.AUsersExtend;

public interface IUsersDbService
{
/* == 管理员操作开始 == */
	/**
	 * 保存一条管理员
	 * @param admins
	 * @return
		{
			// 响应码
			"code":"0",
			// 响应信息 
			"info":"",
			// 数据
			"data":
			{
				// 影响条数;sql执行以后对数据库的影响条数
				"effect":"",
				// id,保存的时候要主键
				"id":""
			}
		}
	 */
	ApiResponse<Object> saveOneAdminsService(AAdmins admins);
	
	/**
	 * 更新一条管理员
	 * @param admins
	 * @return
	 */
	ApiResponse<Object> updateOneAdminsService(AAdmins admins);
	
	/**
	 * 删除一条管理员
	 * @param condMap
	 * @return
	 */
	ApiResponse<Object> deleteOneAdminsService(Map<String, Object> condMap);
	
	/**
	 * 查询一条管理员
	 * @param condMap
	 * @return
	 */
	ApiResponse<AAdmins> findOneAdminsService(Map<String, Object> condMap);
	
	/**
	 * 查询多条管理员
	 * @param condMap
	 * @return
	 */
	ApiResponse<AAdmins> findCondListAdminsService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
	/**
	 * 重置密码->查询当前登录用户
	 * @param str
	 * @return
	 */
	AAdmins findOneByName(String str);
	/**
	 * 重置密码->查询当前用户
	 * @param admins
	 * @return
	 */
	JSONObject updateOneAdmins(AAdmins admins);
	
/* == 管理员操作结束 == */
	
/* == 用户操作开始 == */
	
	ApiResponse<Object> saveOneUsersService(AUsers users);
	
	/**
	 * 更新一条用户
	 * @param Users
	 * @return
	 */
	ApiResponse<Object> updateOneUsersService(AUsers users);
	
	/**
	 * 更新一条用户
	 * @param Users
	 * @param paramsMap 其它辅助信息
	 * @return
	 */
	ApiResponse<Object> updateOneUsersService(AUsers users,Map<String, Object> paramsMap);
	
	/**
	 * 删除一条用户
	 * @param users
	 * @return
	 */
	ApiResponse<Object> deleteOneUsersService(Map<String, Object> condMap);
	
	/**
	 * 查询一条用户
	 * @param condMap
	 * @return
	 */
	ApiResponse<AUsers> findOneUsersService(Map<String, Object> condMap);
	
	/**
	 * 查询多条用户
	 * @param condMap
	 * @return
	 */
	ApiResponse<AUsers> findCondListUsersService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
/* == 用户操作结束 == */
	
/*----- 用户扩展模块管理开始 -----*/
	/**
	 * 添加一条用户扩展
	 * 
	 * @param usersExtend
	 * @return
	 */
	ApiResponse<Object> saveOneUsersExtendService(AUsersExtend usersExtend);

	/**
	 * 更新一条用户扩展
	 * 
	 * @param usersExtend
	 * @return
	 */
	ApiResponse<Object> updateOneUsersExtendService(AUsersExtend usersExtend);

	/**
	 * 删除一条用户扩展
	 * 
	 * @param usersExtend
	 * @return
	 */
	ApiResponse<Object> deleteOneUsersExtendService(Map<String, Object> condMap);

	/**
	 * 查询多条用户扩展
	 * 
	 * @param pageInfo
	 * @param type
	 * @param condMap
	 * @return
	 */
	ApiResponse<AUsersExtend> findCondListUsersExtendService(PageInfoUtil pageInfoUtil , Map<String, Object> condMap);

	/**
	 * 查询一条用户扩展
	 * 
	 * @param type
	 * @param condMap
	 * @return
	 */
	ApiResponse<AUsersExtend> findOneUsersExtendService(Map<String, Object> condMap);
	/*----- 用户扩展模块管理结束 -----*/
	
	
	/*----- 用户api模块管理开始 -----*/
	/**
	 * 添加一条用户api
	 * 
	 * @param usersApi
	 * @return
	 */
	ApiResponse<Object> saveOneUsersApiService(AUsersApis usersApi);
	
	/**
	 * 更新一条用户api
	 * 
	 * @param usersApi
	 * @return
	 */
	ApiResponse<Object> updateOneUsersApiService(AUsersApis usersApi);
	
	/**
	 * 删除一条用户api
	 * 
	 * @param usersApi
	 * @return
	 */
	ApiResponse<Object> deleteOneUsersApiService(Map<String, Object> condMap);
	
	/**
	 * 查询多条用户api
	 * 
	 * @param pageInfo
	 * @param type
	 * @param condMap
	 * @return
	 */
	ApiResponse<AUsersApis> findCondListUsersApiService(PageInfoUtil pageInfoUtil , Map<String, Object> condMap);
	
	/**
	 * 查询一条用户api
	 * 
	 * @param type
	 * @param condMap
	 * @return
	 */
	ApiResponse<AUsersApis> findOneUsersApiService(Map<String, Object> condMap);
	/*----- 用户api模块管理结束 -----*/
}
